﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PwdMgr.Utility.Exceptions
{
    [Serializable]
    public class PwdMgrException : Exception
    {
        public PwdMgrException() { }
        public PwdMgrException(string message) : base(message) { }
        public PwdMgrException(string message, Exception inner) : base(message, inner) { }
        protected PwdMgrException(
          System.Runtime.Serialization.SerializationInfo info,
          System.Runtime.Serialization.StreamingContext context)
            : base(info, context) { }
    }

    [Serializable]
    public class UserDoesNotExistException : Exception
    {
        public UserDoesNotExistException() { }
        public UserDoesNotExistException(string message) : base(message) { }
        public UserDoesNotExistException(string message, Exception inner) : base(message, inner) { }
        protected UserDoesNotExistException(
          System.Runtime.Serialization.SerializationInfo info,
          System.Runtime.Serialization.StreamingContext context)
            : base(info, context) { }
    }

    [Serializable]
    public class UserAlreadyExistException : Exception
    {
        public UserAlreadyExistException() { }
        public UserAlreadyExistException(string message) : base(message) { }
        public UserAlreadyExistException(string message, Exception inner) : base(message, inner) { }
        protected UserAlreadyExistException(
          System.Runtime.Serialization.SerializationInfo info,
          System.Runtime.Serialization.StreamingContext context)
            : base(info, context) { }
    }

    [Serializable]
    public class InvalidUsernamePasswordException : Exception
    {
        public InvalidUsernamePasswordException() { }
        public InvalidUsernamePasswordException(string message) : base(message) { }
        public InvalidUsernamePasswordException(string message, Exception inner) : base(message, inner) { }
        protected InvalidUsernamePasswordException(
          System.Runtime.Serialization.SerializationInfo info,
          System.Runtime.Serialization.StreamingContext context)
            : base(info, context) { }
    }

    [Serializable]
    public class SessionTimeoutException : Exception
    {
        public SessionTimeoutException() { }
        public SessionTimeoutException(string message) : base(message) { }
        public SessionTimeoutException(string message, Exception inner) : base(message, inner) { }
        protected SessionTimeoutException(
          System.Runtime.Serialization.SerializationInfo info,
          System.Runtime.Serialization.StreamingContext context)
            : base(info, context) { }
    }

    [Serializable]
    public class CryptoException : Exception
    {
        public CryptoException() { }
        public CryptoException(string message) : base(message) { }
        public CryptoException(string message, Exception inner) : base(message, inner) { }
        protected CryptoException(
          System.Runtime.Serialization.SerializationInfo info,
          System.Runtime.Serialization.StreamingContext context)
            : base(info, context) { }
    }
}
